// 引入高德地图(wx)文件
import amapFile from '../../utils/amap-wx.130.js'
// 引入自定义的防抖函数
import { myDebounce } from '../../utils/debounce.js'
// 定义全局的keywords
let keywords = ''
Page({
	/**
	 * 页面的初始数据
	 */
	data: {
		mapSearchisShow: true, // map页的搜索框是否显示
		mapPlaceholder: '请输入想搜索的地点名称', // map页的input提示问题
		longitude: 0, // 经度
		latitude: 0, // 维度
		markers: [], // 地图markers
		tips: [], // 搜索提示列表
		pois: [], // 关联地址列表
		zIndex: -99 // 控制搜索内容的显示
	},
	onLoad() { 
		this.getMapaddress() // 在页面加载的时候获取地图信息
	},
	searchKeywords(e) { // 子组件传过来的搜索框的值
		// console.log(e.detail)
		keywords = e.detail // 获取到输入框的内容
		myDebounce(this.getMapTips, 300) // 调用防抖
	},
	getMapTips () { // 获取搜索列表
		// console.log('keywords',keywords)
		// 如果为空或者null等没内容的情况tips就赋值为空
		if (keywords == '' || !keywords || keywords == null || keywords == undefined) {
			this.setData({
				tips: []
			})
			//console.log(keywords, 'null', this.data.tips)
		}
		// 调用高德地图
		var myAmapFunc = new amapFile.AMapWX({
			key: '5d96e687e8f74c23a2335d70be795968'
		})
		myAmapFunc.getInputtips({ // 搜索补全 地图 内容输入提示词
			keywords: keywords,
			location: '',
			success: (data) => {
				//console.log(data)
				if (data && data.tips) {
					this.setData({
						tips: data.tips,
						zIndex: 99
					})
				}
			}
		})
	},
	getMapaddress() { // 调用高德地图获取地图信息
		var myAmapFunc = new amapFile.AMapWX({
			key: '5d96e687e8f74c23a2335d70be795968'
		})
		myAmapFunc.getRegeo({
			// 尝试之后 发现 需要iconPathSelected 然后后面也要传入marker之中
			iconPathSelected: "/images/icon/location.png",
			iconPath: "/images/icon/location.png",
			iconWidth: 65,
			iconHeight: 65,
			success: (data) => { // 成功就拿到地图的信息
				// console.log(data)
				// console.log(data[0].longitude)
				let marker = [{
					id: data[0].id,
					longitude: data[0].longitude,
					latitude: data[0].latitude,
					width: data[0].width,
					height: data[0].height,
					iconPath: data[0].iconPath,
				}]
				this.setData({
					markers: marker,
					longitude: data[0].longitude,
					latitude: data[0].latitude,
					pois: data[0].regeocodeData.pois
				})
				// console.log(this.data.pois)
			},
			fail: function(err) { // 失败就从storage中拿到cityName 并返回上一页
				// console.log(err)
				let cityName = e.currentTarget.dataset.name
				wx.setStorageSync('cityName', cityName)
				wx.navigateBack({ // 返回上一页
					delta: 1
				})
			}
		})
	},
	moveTolocation() {
		// console.log(1)
		this.getMapaddress()
	},
	modifyName(e) { // 点击拿到cityName
		// console.log(e.currentTarget.dataset.name)
		let cityName = e.currentTarget.dataset.name
		wx.setStorageSync('cityName', cityName)
		wx.navigateBack({
			delta: 1
		})
	},
	onCancel() { // 点击取消触发 控制返回到那一层页面
		// console.log('cancel')
		if (this.data.zIndex === 99) {
			this.setData({
				zIndex: -99
			})
		} else {
			wx.navigateBack({
				delta: 1
			})
		}
	},
	clearSearch () { // 因为点击清除icon不会触发input的输入事件 所以直接赋值tips为空
		this.setData({
			tips: []
		})
	},
})
